#ifndef GUI_H
#define GUI_H

class Button;
class TextBox;
class Label; //TODO
class Slider; //TODO
class CheckBox; //TODO
class RadioButton; //TODO
class DropDownBox; //TODO

class GUI
{
public:
	// Constructors
	GUI();
	GUI(const D3DXVECTOR3& pos);
	GUI(int x, int y);
	
	// Destructor
	virtual ~GUI();

	// andere functies
	void Tick(float dTime);
	void Paint();

	// Create functies
	int CreateButton(const tstring& text, const D3DXVECTOR3& pos, int width, int height, const tstring& name, bool image = true);

	int CreateTextBox(const tstring& text, const D3DXVECTOR3& pos, int width, int height, const tstring& name, bool isPass = false);
	int CreateTextBox(const D3DXVECTOR3& pos, int width, int height, const tstring& name, bool isPass = false);

	int CreateLabel(const tstring& text, const D3DXVECTOR3& pos, const tstring& name);

private:
	vector<Button*> m_Buttons;
	vector<TextBox*> m_TextBoxen;
	vector<Label*> m_Labels;

	D3DXVECTOR3 m_Pos;

	GUI(const GUI &t);
	GUI& operator= (const GUI &t);
};

#endif